#!/bin/bash
# 使用 tmux 同时启动前端和后端 - 分屏显示日志

# 检查 tmux 是否安装
if ! command -v tmux &> /dev/null; then
    echo "❌ tmux 未安装"
    echo ""
    echo "请先安装 tmux:"
    echo "  Ubuntu/Debian: sudo apt-get install tmux"
    echo "  CentOS/RHEL:   sudo yum install tmux"
    echo ""
    echo "或者使用其他启动脚本:"
    echo "  bash start_all.sh        - 后台运行"
    echo "  bash start_all_simple.sh - 前台运行"
    exit 1
fi

echo "=========================================="
echo "   CMDB - tmux 分屏启动"
echo "=========================================="
echo ""

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

# 检查虚拟环境
if [ ! -d ".venv" ]; then
    echo "❌ 虚拟环境不存在，请先运行: bash deploy.sh"
    exit 1
fi

# 停止现有的 tmux 会话
tmux kill-session -t cmdb 2>/dev/null

echo "🚀 启动 tmux 会话..."
echo ""
echo "使用说明:"
echo "  - 上下窗口分别显示后端和前端日志"
echo "  - Ctrl+B 然后按方向键切换窗口"
echo "  - Ctrl+B 然后按 D 可以后台运行（detach）"
echo "  - 使用 'tmux attach -t cmdb' 重新连接"
echo "  - Ctrl+C 停止当前窗口的服务"
echo ""
echo "正在启动..."
sleep 2

# 创建新的 tmux 会话并分屏
tmux new-session -d -s cmdb -n 'CMDB'

# 上半部分 - 后端
tmux send-keys -t cmdb "cd $SCRIPT_DIR" C-m
tmux send-keys -t cmdb "clear" C-m
tmux send-keys -t cmdb "echo '========================================'" C-m
tmux send-keys -t cmdb "echo '   后端服务 (Django + Channels)'" C-m
tmux send-keys -t cmdb "echo '   http://localhost:8000'" C-m
tmux send-keys -t cmdb "echo '========================================'" C-m
tmux send-keys -t cmdb "echo ''" C-m
tmux send-keys -t cmdb ". .venv/bin/activate && cd backend && daphne -b 0.0.0.0 -p 8000 backend.asgi:application" C-m

# 分割窗口
tmux split-window -v -t cmdb

# 下半部分 - 前端
tmux send-keys -t cmdb "cd $SCRIPT_DIR/frontend" C-m
tmux send-keys -t cmdb "clear" C-m
tmux send-keys -t cmdb "echo '========================================'" C-m
tmux send-keys -t cmdb "echo '   前端服务 (Vue 3 + Vite)'" C-m
tmux send-keys -t cmdb "echo '   http://localhost:8080'" C-m
tmux send-keys -t cmdb "echo '========================================'" C-m
tmux send-keys -t cmdb "echo ''" C-m
tmux send-keys -t cmdb "npm run dev" C-m

# 调整窗口大小（后端占60%，前端占40%）
tmux resize-pane -t cmdb:0.0 -y 60%

# 连接到会话
echo ""
echo "✅ tmux 会话已创建，正在连接..."
sleep 1
tmux attach-session -t cmdb
